package com.yeren.Calendar;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Calendar与Date，String之间的相互转换
 * 三者之间的转换必须会
 */
public class CalendarDemo2 {
	public static void main(String[] args) throws ParseException {
//		fun1();
//		fun2();
//		fun3();
//		fun4();
		
	}
	
	private static void fun1() throws ParseException{
		/*
		 * String -->Calendar
		 * 首先：使用SimpleDateFormat将String转换为Date，
		 * 然后通过Calendar的setTime将Date转换为Calendar
		 */
		String str4="2008-08-08";
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		Date d4=sdf.parse(str4);
		Calendar c4=Calendar.getInstance();
		System.out.println(c4);//java.util.GregorianCalendar[time=140894......
		c4.setTime(d4);
		System.out.println(c4);//java.util.GregorianCalendar[time=1218124800000,
	}
	
	private static void fun2(){
		/*
		 * Calendar-->String
		 * 首先：Calendar到Date，然后：通过SimpleDateFormat将Date转换为字符串
		 */
		Calendar c3=Calendar.getInstance();
		Date d3=c3.getTime();
		SimpleDateFormat s3=new SimpleDateFormat("yyyy-MM-dd");
		String str3=s3.format(d3);
		System.out.println(str3);//2014-08-25
	}
	
	private static void fun3(){
		/*
		 * Date-->Calendar
		 * Calendar的setTime方法允许我们传入一个Date对象，
		 * 使得当前Calendar描述给定的Date对象所描述的时间。
		 */
		Date d2=new Date();
		Calendar c2=Calendar.getInstance();
		c2.setTime(d2);
		System.out.println(c2);
	}
	
	private static void fun4(){
		/*
		 * Calendar -->Date
		 * 1.Calendar有一个方法getTime(),可以获取一个Date，
		 *   该Date表示的时间就是当前Calendar所表示的时间
		 * 2.void setTime(Date d)
		 *   使Calendar表示Date所描述的日期
		 */
		Calendar c1=Calendar.getInstance();
		Date d1=c1.getTime();
		System.out.println(d1);//Mon Aug 25 14:44:03 CST 2014
	}
}
